<template>
    <div>
        <el-dropdown trigger="click" @command="handleSetSize">
            <div class="size-icon--style">
                <svg-icon class-name="size-icon" icon-class="size"/>
            </div>
            <template #dropdown>
                <el-dropdown-menu>
                    <el-dropdown-item v-for="item of sizeOptions" :key="item.value" :disabled="size === item.value"
                                      :command="item.value">
                        {{ item.label }}
                    </el-dropdown-item>
                </el-dropdown-menu>
            </template>
        </el-dropdown>
    </div>
</template>

<script setup>
    import useAppStore from "@/store/modules/app";

    const appStore = useAppStore();
    const size = computed(() => appStore.size);
    const route = useRoute();
    const router = useRouter();
    const {proxy} = getCurrentInstance();
    const sizeOptions = ref([
        {label: "较大", value: "large"},
        {label: "默认", value: "default"},
        {label: "稍小", value: "small"},
    ]);

    function handleSetSize(size) {
        proxy.$modal.loading("正在设置布局大小，请稍候...");
        appStore.setSize(size);
        setTimeout("window.location.reload()", 1000);
    }
</script>

<style lang='scss' scoped>
    .size-icon--style {
        font-size: 18px;
        line-height: 50px;
        padding-right: 7px;
    }
</style>